1. Field of the Invention
The present invention relates to a data list display mechanism and a data list display method using a GUI (Graphical User Interface), and in particular to a technique effectively applied for the display of a large amount of data sets in a limited display area.
2. Background Art
Recently, GUIs are employed as common user interfaces for computer systems, and list boxes are commonly employed as operating means for displaying data lists and for entering data using a GUI.
A list box is a form of window display means that is used for data entry. Ordinarily, in a list box one set of data is associated with an individual row in a square display space, and a list consisting of multiple sets of data occupying multiple rows is displayed. In a GUI environment, a pointer such as an arrow is displayed on a screen and responds to the movement of a mouse. By moving the pointer to a location on the screen where a target data image is displayed and clicking at the image location with the mouse, a user can enter that data. Target data is a data that is to be displayed and be manipulated by the user. Target data consists of one or more rows of data. A list box provides the advantage of a standardized display method, and many database software applications include input operation means that employ list boxes.
When a data list is displayed in this manner, a user can enter data while visually confirming the contents, and can easily enter complicated data or long character strings. That is, since a list of data that is displayed provides input candidates, the user is not required to remember the exact data contents, but rather, can enter data correctly so long as he or she remembers data enough to select the item from the list of available choices. Further, since in this case the data entry will contain no typographical errors, input errors can be prevented.
Operators of a computer system use a standard operator interface to transmit electrical signals to and from the computer system that may represent commands for performing various search and retrieval functions, termed queries, against the databases. For example, these queries may employ Structured Query Language (SQL) and invoke functions performed by Relational Database Management System (RDBMS) software. In a relational database management system, data is stored in a table form comprising rows and columns. The SQL interface has evolved into a standard language for RDBMS software and has been adopted as such by both American National Standards Institute (ANSI) and the International Standards Organization (ISO). The SQL interface allows users to formulate relational operations on the tables either interactively, or in batch files, or embedded in host languages such as C and COBOL.
SQL allows the user to retrieve and manipulate the data. In general, the data is retrieved from the database one row at a time. However, when a query could return more than one row, a special data object called SQL cursor may be used. An SQL cursor allows users to retrieve a set of rows. The SQL cursor is a data structure that represents the current state of a query. The set of all rows that the query produces is called the active set of the cursor. It is easy to think of the SQL cursor as a reading pointer which points to one row of the active set. RDBMS provides special operations such as OPEN, FETCH, etc. for SQL cursor set up and manipulation.
In advanced RDBMS software, a tool (e.g. a query builder) is used for the preparation of an SQL statement by connecting to a database and using the GUI. For the tool to prepare the RDBMS query, there is a request for a process that is performed while actually confirming the contents of the database, such as the designation of a query condition, and in order to satisfy the request, a list box is employed.
For those sets of data in a list that can not be displayed in the limited space of a list box, as is shown in the example in FIG. 10, a scroll bar 102, which is displayed along one side, usually the right side, of the list box 101, can be employed by a user to vertically scroll the displayed data until desired data appears. Or, a constant number of data can be presented in the display space by designating such number by the starting address of data.
However, if a list box is employed to display a very large amount of data, the following problems are encountered when means for using the scroll bar or means for designating and displaying a constant number of data sets is used.
For example, there is a problem that a user can only refer to certain data area, such as the first block of data, or that a user is unable to understand all the data contents at one time. That is, since the display area that is allocated is small relative to the available data, the amount of data that can be presented at one time is limited. Although one advantage of a GUI is that it provides a visual presentation that makes understanding of data easier, such advantage cannot be fully exploited since an all-inclusive view of data cannot be presented due to the display area size.
Further, another problem is that when a list box is used to process a large amount of data, an extended period of time is needed to extract desired data. That is, since only a limited area within a list can be referred to, ascertaining the actual location of that area within the whole body of data is quite difficult. Thus, if there is a lot of desired data within the list box, in order to locate target data, a user must scroll through all data from the beginning, or must designate data locations depending on his/her perception. This is not suitable when there is an enormous amount of data to be processed: target data cannot easily be extracted for display, and an advantage afforded by a GUI, improved user convenience, is degraded. Therefore, a demand exists for means to manage the entire body of data that is accessed in such a case.
In addition, when a GUI is used on a client in a network environment wherein a storage area, such as a database, for storing display data is prepared in a server, the data to be displayed in a list box must be transferred. In this case, means for using the scroll bar must receive target data via the network before it can be displayed, and another problem exists in that an increased load is imposed on the network.
It is, therefore, desirable to display a large amount of data in a list box so that the contents of all data can be recognized. It is also desirable to reduce the data transmission load in order to facilitate the display of data in a list box.